Technical Q&As


QTW 28 - QuickTime for Windows Codec Implementation, OPT_BMP (1-June-95)


Q I am trying to decompress a Windows bitmap. (I specify OPT_BMP in the optt field during preDecompress). What is the format of the lpUncompressed buffer? For example, does lpUncompressed contain the bitmap header and color table as well as the bits?

A 1. Rows are padded to DWORD boundaries.

2. There must be an integral number of rows in a 64K segment, but the codec may round down the number of rows per 64K segment at its discretion (e.g., Cinepak and Indeo round down to the nearest multiple of 4).

3. The number of rows which the codec chooses to place into the 64K segment is returned to QuickTime for Windows via the "wRowsPerFullSegment".

4. Only pixel data is stored in the lpUncompressed buffer.

5. Upon entry, the lpUncompressed buffer contains a collection of 64K segments that can be indexed via standard huge pointer arithmetic (bumping the selector by 8 to get the next 64K block).

6. For OPT_BMP, you should implement a BLTter for as many of the enumerated BMP_TYPE as you can afford the time for.

7. We recommend using our dither tables for BMP_INDEX_8 for conversion of RGB to palettized pixels.

Technical Q&As
Previous Question | Contents | Next Question